package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 万能机主表信息业务对象 n_laboratory_mechanics_w_group
 *
 * @author tll
 * @date 2023-09-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NLaboratoryMechanicsWGroupBo extends BaseEntity {

    /**
     * 汇总源表主键
     */
    @NotNull(message = "汇总源表主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 数据抽取源表主键
     */
    @NotNull(message = "数据抽取源表主键不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sourceId;

    /**
     * 试验类型，用于识别相应试验
     */
    @NotBlank(message = "试验类型，用于识别相应试验不能为空", groups = { AddGroup.class, EditGroup.class })
    private String SYLX;

    /**
     * 试验编号(组号
     */
    @NotBlank(message = "试验编号(组号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String SYBH;

    /**
     * 本组的试样数量
     */
    @NotNull(message = "本组的试样数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer SYSL;

    /**
     * 公称直径(mm
     */
    @NotNull(message = "公称直径(mm不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float GCZJ;

    /**
     * 面积(mm2）
     */
    @NotNull(message = "面积(mm2）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float Area;

    /**
     * 原始标据
     */
    @NotNull(message = "原始标据不能为空", groups = { AddGroup.class, EditGroup.class })
    private Float Lo;

    /**
     * 试验时间
     */
    @NotNull(message = "试验时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date SYSJ;

    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Machine;

    /**
     * 试验员
     */
    @NotBlank(message = "试验员不能为空", groups = { AddGroup.class, EditGroup.class })
    private String Tester;

    /**
     * 状态标记 0:该组试验未完成 1:该组试验完成
     */
    @NotNull(message = "状态标记 0:该组试验未完成 1:该组试验完成不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer Tag;

    /**
     * 数据来源
     */
    @NotBlank(message = "数据来源不能为空", groups = { AddGroup.class, EditGroup.class })
    private String type;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date createDate;

    /**
     * 数据来源类型:1.丰仪
     */
    @NotBlank(message = "数据来源类型:1.丰仪不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sourceType;

    /**
     * 参数:开始时间
     */
    @NotBlank(message = "参数:开始时间", groups = { AddGroup.class, EditGroup.class })
    private String startTime;
    /**
     * 参数:结束时间
     */
    @NotBlank(message = "参数:结束时间", groups = { AddGroup.class, EditGroup.class })
    private String endTime;
    /**
     * 部门id
     */
    @NotBlank(message = "部门id", groups = { AddGroup.class, EditGroup.class })
    private String deptId;

    /**
     * 是否合格1合格0不合格
     */
    @NotBlank(message = "是否合格1合格0不合格", groups = { AddGroup.class, EditGroup.class })
    private String eligible;

    /**
     * 是否关联1已关联0未关联
     */
    @NotBlank(message = "是否关联1已关联0未关联", groups = { AddGroup.class, EditGroup.class })
    private String relevance;

    /**
     * 万能机型号
     */
    @NotBlank(message = "万能机型号", groups = { AddGroup.class, EditGroup.class })
    private String deviceModel;
    private String symc;

    /*******************报表字段********************/
    /**
     * 工程名称
     */
    private String projectName;

    /**
     * 工程部位/用途
     */
    private String position;
    /**
     * 样品信息
     */
    private String sampleInfo;
    /**
     * 试验检测日期
     */
    private String testDate;
    /**
     * 试验条件
     */
    private String testCondition;
    /**
     * 检测依据
     */
    private String testingBasis;
    /**
     * 判定依据
     */
    private String judgmentBasis;
    /**
     * 主要仪器设备名称及编号
     */
    private String instrumentNamesNumbers;
    /**
     * 规格编号
     */
    private String specificationGrade;
    /**
     * 代表数量
     */
    private String quantity;
    /**
     * 取样地点
     */
    private String sampleSite;
    /**
     * 批注
     */
    private String annotations;
    /**
     * 生产厂家
     */
    private String manufacturer;

    /**
     * 施工/委托单位
     */
    private String constructionCompany;
}
